Map数据结构: 类似于对象,可以将 对象 和 函数 作为key(属性)

Map 数据结构所提供的方法
  • .size : 返回Map的长度
  • .get() : 获取Map数据结构中的值
  • .set() 添加键值对(添加属性和值 key值和value值)
  • .has() : 查找属性,返回 true / false
  • .deltet() : 删除指定的key值(属性)
  • .clear() : 清空所有key值(清空所有属性)

1. Map 的基本使用

// 固定写法

new Map([[key, value], [key, value]])

let obj = {};
let fn = () => {};

let map = new Map([['name', 'Kevin'], [obj, fn]]);

console.log(map);  // Map(2) {"name" => "Kevin", {…} => ƒ}

2. .size

  • 返回Map的长度

let obj = {};
let fn = () => {};

let map = new Map([['name', 'Kevin'], [obj, fn]]);

let size = map.size;  // 2

3. .get()

  • 获取Map数据结构中的值

let obj = {};
let fn = () => {};

let map = new Map([['name', 'Kevin'], [obj, fn]]);

let data = map.get('name');  // 'Kevin'
let data_fn = map.get(obj);  // () => {}

4. .set()

  • 添加键值对(添加属性和值 key值和value值)

let obj = {};
let fn = () => {};

let map = new Map();

map.set('name', 'Kevin');
map.set(obj, fn);

console.log(map);  // Map(2) {"name" => "Kevin", {…} => ƒ}

5. .has()

  • 查找属性,返回 true / false

let obj = {};
let fn = () => {};

let map = new Map([['name', 'Kevin'], [obj, fn]]);

let isHas = map.has(obj);  // true

6. .delete()

  • 删除指定的key值(属性)

let obj = {};
let fn = () => {};

let map = new Map([['name', 'Kevin'], [obj, fn]]);

map.delete('name');
map.delete(obj);

console.log(map);  // Map(0) {}

7. .clear()

  • 清空所有key值(清空所有属性)

let obj = {};
let fn = () => {};

let map = new Map([['name', 'Kevin'], [obj, fn]]);

map.clear();

console.log(map);  // Map(0) {}